Device for tapping USB power

ABSTRACT

A device includes a universal serial bus (USB) port comprising a data terminal and a power terminal to receive power from a remote USB port. The device includes a controller coupled to the data terminal of the USB port to provide a USB initialization signal.

BACKGROUND

Electronic devices without power adapters provide cost savings and a user friendly experience. One way to provide electronic devices without power adapters is by tapping Universal Serial Bus (USB) power. Some electronic devices tap USB power by simply connecting to a computer's USB host port without consideration for the USB host port's power management requirements. The lack of consideration for the USB host port's power management requirements can lead to a number of problems.

First, the USB host port may provide insufficient power for the electronic device to operate. Typical USB host ports supply current up to 100 mA in compliance with USB standard 7.2.1.3. if a proper initialization process is not performed. Further, if the USB host port implements over current protection and the electronic device requires more than 100 mA of current (i.e. high power) to operate, it is possible that the USB voltage (V_(BUS)) will be turned off in response to connecting the electronic device to the USB host port. In some cases, even after the electronic device is disconnected from the USB host port, the USB host port may still be disabled and in an unusable state until the user manually resets the USB host port.

In addition to the possibility of the USB host port providing insufficient power, the electronic device will loose power when the USB host port enters a suspend mode. In compliance with the USB standard, the USB host port will suspend the USB bus if there are no data transactions over the USB bus for a certain time. After the USB host port suspends the USB bus for lack of data transactions, the USB power draw is limited to 500 μA and the electronic device may loose power or be reset.

Further, in addition to the possibility of the USB host port providing insufficient power or entering a suspend mode, tapping USB power without proper initialization may also damage the USB host port. In response to connecting an electronic device to a USB host port, the computer may implement an unrecoverable protection mechanism on the USB host port. Connecting an electronic device to the USB host port may generate inrush current. Depending on the protected current limitation of the USB host port, this inrush current may exceed the current limitation of the USB host port and result in an unrecoverable state where the USB host port is inoperable.

For these and other reasons there is a need for the present invention.

SUMMARY

One embodiment provides a device. The device includes a universal serial bus (USB) port comprising a data terminal and a power terminal to receive power from a remote USB port. The device includes a controller coupled to the data terminal of the USB port to provide a USB initialization signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a further understanding of the present invention and are incorporated in and constitute a part of this specification. The drawings illustrate the embodiments of the present invention and together with the description serve to explain the principles of the invention. Other embodiments of the present invention and many of the intended advantages of the present invention will be readily appreciated as they become better understood by reference to the following detailed description. The elements of the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding similar parts.

FIG. 1 is a block diagram illustrating one embodiment of a system.

FIG. 2 is a diagram illustrating one embodiment of USB cable connections to a USB slave port.

FIG. 3 is a diagram illustrating one embodiment of an electronic device tapping USB power from a computer.

FIG. 4 is a flow diagram illustrating one embodiment of a method for an electronic device to tap USB power from a USB host port.

DETAILED DESCRIPTION

In the following Detailed Description, reference is made to the accompanying drawings, which form apart hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as “top,” “bottom,” “front,” “back,” “leading,” “trailing,” etc., is used with reference to the orientation of the Figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

FIG. 1 is a block diagram illustrating one embodiment of a system 100. System 100 includes a computer 102 and an electronic device 120. Computer 102 includes a data port 104, a Universal Serial Bus (USB) host port 106, and other components (not shown), such as a processor and memory. Electronic device 120 includes a data interface 122, a USB slave port 124, and a controller 130. Data interface 122 is electrically coupled to controller 130 through signal path 126. USB slave port 124 is electrically coupled to controller 130 through signal path 128. Data port 104 of computer 102 is electrically coupled to data interface 122 of electronic device 120 through a data cable 110. USB host port 106 of computer 102 is electrically coupled to USB slave port 124 of electronic device 120 through a USB cable 112.

Electronic device 120 is configured to tap USB power from USB host port 106 while fully complying with the USB standard. Electronic device 120 taps the USB power from USB host port 106 without installing any specific driver or supporting software for supporting or driving electronic device 120 on computer 102. In addition, electronic device 120 reliably receives up to 500 mA of constant current from USB host port 106. Electronic device 120 receives sufficient power from USB host port 106, and USB host port 106 is not suspended, disabled, or damaged. In addition electronic device 120 provides energy savings by powering down or shutting down with computer 102.

Computer 102 includes any suitable logical computing device including a USB host port 106. In one embodiment, computer 102 is a personal computer (PC), workstation, laptop, handheld computer, or other suitable computing device. Data port 104 transmits and/or receives data using any suitable data transmission method. Data port 104 includes an Ethernet port, an IEEE 1394 port, a parallel data port, a serial data port, a game port, or any other suitable data port. In one embodiment, USB host port 106 is a standard USB host port for transmitting and receiving serial data and for providing USB power. In a first state before initialization, USB host port 106 provides up to 100 mA of current to electronic device 120 through USB cable 112. In a second state after initialization, USB host port 106 provides up to 500 mA of current (i.e. high power) to electronic device 120 through USB cable 112.

Electronic device 120 may include any suitable device that uses a predetermined current to operate. For example, in one embodiment, electronic device 120 uses a current higher than the predefined current available by the USB standard. In one embodiment, the current may be up to 500 mA or higher than 500 mA. In one embodiment, electronic device 120 is an Ethernet Asymmetric Digital Subscriber Line (ADSL) modem, an Ethernet Internet Protocol (IP) phone, an Ethernet Analog Telephone Adapter (ATA), or any other suitable electronic device other than a network adaptor. In one embodiment, electronic device 120 transmits and/or receives data from computer 102 through data interface 122. In another embodiment, data interface 122 is excluded and electronic device 120 does not transmit and/or receive data from computer 102.

Data interface 122 transmits and/or receives data from computer 102 through data cable 110. In one embodiment, data interface 122 include an Ethernet port, an IEEE 1394 port, a parallel data port, a serial data port, a game port, or any other suitable data port complementary to data port 104 of computer 102. USB slave port 124 receives USB power and transmits and/or receives control signals from USB host port 106 of computer 102 through USB cable 112.

Controller 130 includes a microprocessor, microcontroller, or other suitable logic circuitry for controlling the operation of electronic device 120. Controller 130 controls data interface 122 through signal path 126 to transmit and/or receive data from computer 102. Controller 130 controls USB slave port 124 through signal path 128 to receive and maintain USB power from computer 102 to power electronic device 120.

Electronic device 120 mimics a Remote Network Driver Interface Specification (RNDIS) device to tap USB power from USB host port 106 of computer 102. Electronic device 120 initializes electronic device 120 as a RNDIS device and utilizes the RNDIS control protocols to keep electronic device 120 active. Since RNDIS is built into Windows, software installation on computer 102 and the associated maintenance of that software is eliminated. Electronic device 120 is properly installed in compliance with the USB standard. Electronic device 120 uses the full USB power management mechanism, receives power reliably, and conforms to CE certification.

FIG. 2 is a diagram illustrating one embodiment of USB cable 112 connections to USB slave port 124 of electronic device 120. USB slave port 124 includes a connector 140 including inputs and/or outputs 142 a-142 d. USB cable 112 includes a USB power (V_(BUS)) line 112 a, complementary data lines (D+ and D−) 112 b and 112 c, and a ground (GND) line 112 d. V_(BUS) line 112 a is electrically coupled to input 142 a. Complementary data lines D+ 112 b and D− 112 c are electrically coupled to inputs/outputs 142 b and 142 c, respectively. Ground line 112 d is electrically coupled to input 142 d.

Typical non-compliant electronic devices that tap USB power do not use complementary data lines D+ 112 b and D− 112 c. In contrast, USB slave port 124 uses all four USB lines 112 a-112 d and associated inputs and/or outputs 142 a-142 d to comply with the USB standard for receiving and maintaining USB power for operating electronic device 120.

FIG. 3 is a diagram illustrating one embodiment of a system 150. System 150 includes a laptop computer 152 and an electronic device 158. Computer 152 is electrically coupled to electronic device 158 through an Ethernet cable 154 and through a USB cable 156. In one embodiment, electronic device 158 includes an ADSL modem, an IP phone, an ATA, or other suitable electronic device. Electronic device 158 transmits and/or receives data from computer 152 through Ethernet cable 154. Electronic device 158 receives and maintains USB power from computer 152 through USB cable 156.

In this embodiment, the USB connection between computer 152 and electronic device 158 is compliant with the USB standard. Computer 152 recognizes both the Ethernet connection and the USB connection of electronic device 158. Upon connecting USB cable 156 between electronic device 158 and computer 152, computer 152 initiates the device enumeration and initialization procedure in compliance with the USB standard. In response to the device enumeration and initialization procedure, electronic device 158 informs computer 152 through USB cable 156 that electronic device 158 is an RNDIS device requiring high power (i.e., up to 500 mA).

After the completion of the initialization procedure, electronic device 158 enters into an RNDIS data initialized state. Data traffic between computer 152 and electronic device 158 passes through Ethernet cable 154. No data traffic between computer 152 and electronic device 158 passes through USB cable 156. With no data traffic passing through USB cable 156, computer 152 will suspend the USB device (i.e., electronic device 158 in this embodiment). In a suspended state, electronic device 158 is allowed to draw very little (e.g., 500 μA) current. To prevent computer 152 from suspending electronic device 158, electronic device 158 transmits remote NDIS keep alive signals to computer 152 through USB cable 156 as described below with reference to FIG. 4. In this way, electronic device 158 receives and maintains up to 500 mA of current from computer 152 while complying with the USB standard and without installing additional software on computer 152.

FIG. 4 is a flow diagram illustrating one embodiment of a method 200 for an electronic device to tap USB power from a USB host port. At 202, the electronic device, such as electronic device 120 previously described and illustrated with reference to FIG. 2 or electronic device 158 previously described and illustrated with reference to FIG. 3 is disconnected and therefore not powered. At 204, a USB cable is connected between the electronic device and the USB host port of a computer, such as computer 102 previously described and illustrated with reference to FIG. 1 or computer 152 previously described and illustrated with reference to FIG. 3. The USB host port of the computer then initializes the USB connection to the electronic device.

At 206 in response to the USB initialization, the electronic device is granted 500 mA of current to power the electronic device. At 208, the electronic device is powered and fully functional. At 210, the electronic device is initialized as an RNDIS device. In response to the RNDIS initialization, at 212 the electronic device enters an RNDIS data initialized state. At 214, the electronic device determines whether an RNDIS keep alive timeout period (i.e., 5 seconds) minus one second (i.e., 4 seconds) has been reached. If the keep alive timeout period minus one second has not been reached, then the electronic device remains in the RNDIS data initialized state at 212.

If the keep alive timeout period minus one second has been reached, then at 216 the electronic device determines whether the electronic device has received a remote NDIS keep alive message from the computer. If the electronic device has not received a remote NDIS keep alive message from the computer, then at 220 the electronic device generates the remote NDIS keep alive message and passes it to the computer through the USB cable and the electronic device returns to the RNDIS data initialized state at 212. If the electronic device has received the remote NDIS keep alive message from the computer, then at 218 the electronic device replies to the computer with a remote NDIS keep alive completion signal and the electronic device returns to the RNDIS data initialized state at 212. The keep alive process for the electronic device is repeated such that the electronic device maintains up to 500 mA of current through the USB cable from the USB host port of the computer.

Embodiments of the present invention provide an electronic device for tapping USB power from a USB host port of a computer while complying with the USB standard. In addition, the electronic device receives and maintains the USB power from the USB host port of the computer without installing software on the computer.

Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof. 

1. A device, comprising: a universal serial bus (USB) port comprising a data terminal and a power terminal to receive power from a remote USB port; and a controller coupled to the data terminal of the USB port to provide a USB initialization signal that determines the power provided by the USB port from a first state before initialization at a lower power and a second state after initialization at a higher power, wherein the USB initialization signal is a remote network driver interface specification (RNDIS) signal, wherein the controller is configured to regularly determine whether a predefined control signal has been received at the data terminal wherein the controller is configured to transmit a control signal to the data terminal when it is determined that the predefined control signal has not been received at the data terminal, and wherein the predefined control signal comprises a keep alive message.
 2. The device of claim 1, wherein the controller is configured to repeatedly transmit the control signal to a data port of the remote USB port after providing the initialization signal.
 3. The device of claim 2, wherein the control signals are generated in predetermined time intervals dependent on a predefined time out period.
 4. The device of claim 1, wherein the device comprises one of an asymmetric digital subscriber line (ADSL) modem, an Ethernet ADSL modem, an internet protocol (IP) phone, an Ethernet IP phone, an analog telephone adaptor (ATA), and an Ethernet ATA.
 5. The device of claim 1, wherein the device comprises a data communication port.
 6. The device of claim 5, wherein the data communication port comprises an Ethernet port.
 7. The device of claim 1, wherein the USB port is configured to provide up to 500 mA of current to the device.
 8. The device of claim 1, wherein the control signal comprises a keep alive signal provided to inform a remote device connected to the USB port to maintain power from the USB port.
 9. The device of claim 1, wherein the first state comprises a lower power up to 100 mA, and wherein the second state comprises a higher power up to 500 mA.
 10. A system, comprising: a device other than a network adaptor, the device including a universal serial bus (USB) slave port; a computer including a USB host port; a USB cable coupled between the USB slave port and the USB host port, wherein the device is configured to inform the computer through the USB cable that the device is a remote network driver interface specification (RNDIS) device via a remote network driver interface specification (RNDIS) signal such that the device obtains a high power state that provides high power from the USB host port when initialized; and a controller coupled to the USB slave port that is configured to regularly determine whether a keep alive message has been received thereat and to transmit a control signal to the USB host port when it is determined that the keep alive message has not been received.
 11. The system of claim 10, further comprising: a data cable coupled between the computer and the device.
 12. The system of claim 10, wherein the high power state comprises a high power up to 500 mA. 